package extend02;

public class D extends B{
    private int num =1;

    @Override
    public void func() {
        //super.func();
        System.out.println("D.func()"+num);
    }
    //构造D对象的同时，会调用B的构造方法
    //B的构造方法中调用了func方法，此时会触发动态绑定
    //会调用D中的func，
    //此时D对象自身还没有构造，此时处于num没有初始化的状态，为0，如果具备多态性，应该为1
    //所以在构造函数内，尽量避免使用实例方法
    //除了final和private方法


}
